﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using FacturacionII.Clases;
namespace FacturacionII.Formularios
{
    public partial class frmMaestroMarca : FacturacionII.Formularios.frmMaestro
    {
        clsMarca objMarca;
        frmPrincipal objPrincipal;
        public frmMaestroMarca()
        {
            InitializeComponent();
        }

        private void frmMaestroMarca_Load(object sender, EventArgs e)
        {
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcPaneles.SelectedTab = stiListado;
            this.grdListado.AutoGenerateColumns = false;
            this.CargarDatosDataGridView();
            this.AsignarPropiedadesDataGridView();
            txtCriterioBuscar.CharacterCasing = CharacterCasing.Upper;
            txtDescripcion.CharacterCasing = CharacterCasing.Upper;
            objPrincipal = new frmPrincipal();
            objPrincipal.btnMarcas.Enabled = false;
        }

        public void CargarDatosDataGridView()
        { 
            objMarca = new clsMarca();
            grdListado.DataSource = objMarca.CargarDatosGridView();
        }

        public void AsignarPropiedadesDataGridView()
        {
            grdListado.AutoGenerateColumns = false;
            grdListado.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            grdListado.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            grdListado.Columns[0].DataPropertyName = "CODIGO";
            grdListado.Columns[1].DataPropertyName = "MARCA";
        }

        private void sbpNuevo_Click(object sender, EventArgs e)
        {
            stcPaneles.SelectedTab = stiRegistro;
            this.LimpiarControles();
            txtDescripcion.Select();

        }

        private void btnNuevoLimpiar_Click(object sender, EventArgs e)
        {
            this.LimpiarControles();
        }

        public void LimpiarControles()
        {
            txtId.Text = "";
            txtCriterioBuscar.Text = "";
            txtDescripcion.Text = "";
        }

        private void btnNuevoCancelar_Click(object sender, EventArgs e)
        {
            this.LimpiarControles();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcPaneles.SelectedTab = stiListado;
        }

        private void btnNuevoGuardar_Click(object sender, EventArgs e)
        {
            objMarca = new clsMarca();
            objPrincipal = new frmPrincipal();
            objMarca.Guardar(txtDescripcion.Text.Trim(), objPrincipal.getIdUsuario());
            MessageBox.Show("SE REGISTRO LA NUEVA MARCA", "SISTEMA DE FACTURACION", MessageBoxButtons.OK,
                MessageBoxIcon.Information);
            grdListado.DataSource = objMarca.CargarDatosGridView();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcPaneles.SelectedTab = stiListado;
        }

        private void btnNuevoSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void sbpModificar_Click(object sender, EventArgs e)
        {
            stcPaneles.SelectedTab = stiListado;
            btnModificarGuardarCambios.Enabled = false;
        }

        private void btnModificarSeleccionar_Click(object sender, EventArgs e)
        {
            string codigo, descripcion;
            codigo = grdListado.CurrentRow.Cells[0].Value.ToString();
            descripcion = grdListado.CurrentRow.Cells[1].Value.ToString();
            stcPaneles.SelectedTab = stiRegistro;
            txtId.Text = codigo;
            txtDescripcion.Text = descripcion;
            txtDescripcion.Select();
            btnModificarGuardarCambios.Enabled = true;
            
        }

        private void grdListado_DoubleClick(object sender, EventArgs e)
        {
            string codigo, descripcion;
            codigo = grdListado.CurrentRow.Cells[0].Value.ToString();
            descripcion = grdListado.CurrentRow.Cells[1].Value.ToString();
            stcPaneles.SelectedTab = stiRegistro;
            sbMantenimiento.ExpandedPanel = sbpModificar;
            txtId.Text = codigo;
            txtDescripcion.Text = descripcion;
            txtDescripcion.Select();
            btnModificarGuardarCambios.Enabled = true;
        }

        private void btnModificarGuardarCambios_Click(object sender, EventArgs e)
        {
            objMarca = new clsMarca();
            objPrincipal = new frmPrincipal();
            objMarca.GuardarCambios(int.Parse(txtId.Text), txtDescripcion.Text.Trim(),
                objPrincipal.getIdUsuario());
            grdListado.DataSource = objMarca.CargarDatosGridView();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcPaneles.SelectedTab = stiListado;
        }

        private void btnModificarCancelar_Click(object sender, EventArgs e)
        {
            this.LimpiarControles();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcPaneles.SelectedTab = stiListado;
        }

        private void btnModificarSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btmEliminarEliminar_Click(object sender, EventArgs e)
        {
            objPrincipal = new frmPrincipal();
            string id, marca;
            id = grdListado.CurrentRow.Cells[0].Value.ToString();
            marca = grdListado.CurrentRow.Cells[1].Value.ToString();
            DialogResult respuesta;
            respuesta = MessageBox.Show("DESEA ELIMINAR LA MARCA " + marca,
                "SISTEMA DE FACTURACION", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (respuesta == DialogResult.Yes)
            {
                objMarca.Eliminar(int.Parse(id));
                grdListado.DataSource = objMarca.CargarDatosGridView();
            }
        }

        private void btnEliminarSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnVerSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtCriterioBuscar_TextChanged(object sender, EventArgs e)
        {
            objMarca = new clsMarca();
            if (string.Empty == txtCriterioBuscar.Text.Trim())
            {
                grdListado.DataSource = objMarca.CargarDatosGridView();
            }
            else
            {
                grdListado.DataSource = objMarca.BuscarDatosGridView(txtCriterioBuscar.Text.Trim());
            }
        }

        private void frmMaestroMarca_FormClosed(object sender, FormClosedEventArgs e)
        {
            objPrincipal = new frmPrincipal();
            objPrincipal.btnMarcas.Enabled = true;
        }
    }
}
